module.exports = {
    publicPath: './',
    chainWebpack: config => { 
        //发布模式
        config.when(process.env.NODE_ENV === 'production', config => {
            // 通过when函数判断当前处于的模式
            //entry找到默认的打包入口，调用clear方法删除默认的打包入口(main.js)
            //add添加新的打包入口
            config.entry('app').clear().add('./src/main-prod.js');

            //使用externals设置排除项
            // 只有发布模式下才需要配置
            config.set('externals', {
                vue: 'Vue',
                'vue-router': 'VueRouter',
                axios: 'axios',
                lodash: '_',
                echarts: 'echarts',
                nprogress: 'NProgress',
                'vue-quill-editor': 'VueQuillEditor'
            })

            //使用插件
            config.plugin('html').tap(args => {
                //添加参数isProd
                args[0].isProd = true
                return args
            })
        })


        //开发模式
        config.when(process.env.NODE_ENV === 'development', config => {
            config.entry('app').clear().add('./src/main-dev.js')

            //使用插件
            config.plugin('html').tap(args => {
                //添加参数isProd
                args[0].isProd = false
                return args
            })

        })
    },

}